package com.wx.chapter10.final_.innerclass;

/**
 * ClassName:LocalInnerClass
 * Package :com.wx.chapter10.innerclass
 * Description :
 *
 * @Author : coder_mu
 * @Create : 2023/6/11 - 11:57
 */
public class LocalInnerClass {
    public static void main(String[] args) {
        Outer02 outer02 = new Outer02();
        outer02.m1();
    }
}

class Outer02 {//外部类
    private int n1 = 100;

    private void m2() {//私有方法
        System.out.println("m2()外部类私有方法");
    }

    public void m1() {//方法
        //局部内部类定义在方法或者代码块中---不能使用public修饰，但是可以用final修饰
        class Inner02 {//局部内部类，作用域只在其所在的代码块或者方法中
            private int n1 = 800;

            public void f1() {//局部内部类可以直接访问外部类的所有成员
                System.out.println(n1);
                System.out.println(Outer02.this.n1);
                m2();
            }
        }
        Inner02 inner02 = new Inner02();
        inner02.f1();
    }
}